#include <stdio.h>
#include <string.h>

/*罗马数字转整数*/

int inrome(char* s)
{
    int a=0;
    int i=0;
   while (i<strlen(s))
   {
    switch (s[i])
        {
            case 'M': 
            {
                a+=1000; break;
            }
            case 'D': 
            {
                a+=500; break;
            }
            case 'C': 
            {
                if(s[i+1]=='D')
                {a+=400;i++;}
                else if(s[i+1]=='M')
                {a+=900;i++;}
                else a+=100; break;
            }
            case 'L': 
            {
                a+=50; break;
            }
            case 'X': 
            {
                if(s[i+1]=='L')
                {a+=40;i++;}
                else if(s[i+1]=='C')
                {a+=90;i++;}
                else a+=10; break;
            }
            case 'V': 
            {
                 a+=5; break;
            }
            case 'I': 
            {
                if(s[i+1]=='V')
                {a+=4;i++;}
                else if(s[i+1]=='X')   
                {a+=9;i++;}
                else a+=1; break;
            }
            default :printf("input error!\n"); break;
        } 
        i++;
   }
   return a;
}

void main()
{
    char s[9];
    printf("请输入一个罗马数字：");
    scanf("%s",s);
    int a=inrome(s);
    printf("%d\n",a);
}